MVC হলো Model-View-Controller প্যাটার্নের সংক্ষিপ্ত রূপ। এটি একটি স্থাপত্যিক প্যাটার্ন যা সফটওয়্যার ডেভেলপমেন্টে UI (User Interface) এবং ব্যাকএন্ড লজিকের মধ্যে বিভাজন তৈরি করতে ব্যবহৃত হয়। ASP.NET Core-এ এই প্যাটার্নটি অত্যন্ত জনপ্রিয় এবং শক্তিশালী, যা ডেভেলপারদের ওয়েব অ্যাপ্লিকেশন নির্মাণে সুসংগঠিত এবং সহজ পদ্ধতি প্রদান করে।
MVC প্যাটার্নের মূল ধারণা
MVC প্যাটার্ন অ্যাপ্লিকেশনকে তিনটি ভিন্ন কম্পোনেন্টে ভাগ করে:
Model
Model হলো ডেটার প্রতিনিধিত্বকারী স্তর। এটি ডেটাবেস, বিজনেস লজিক এবং ডেটা প্রসেসিং-এর সাথে কাজ করে। Model ডেটার কাঠামো এবং ডেটাবেস অপারেশনের জন্য দায়ী। এটি মূলত ডেটার স্টোরেজ এবং হ্যান্ডলিং সংক্রান্ত কার্যক্রম সম্পাদন করে।
কাজের ক্ষেত্র:
- ডেটার স্ট্রাকচার (ক্লাস তৈরি)।
- ডেটা ভ্যালিডেশন।
- ডেটাবেস থেকে ডেটা রিড এবং রাইট করা।
উদাহরণ:
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
}
View
View হলো ব্যবহারকারীর সামনে প্রদর্শিত UI (User Interface) অংশ। এটি শুধুমাত্র ডেটা উপস্থাপনের জন্য দায়ী এবং ডেটার কোন প্রকার প্রসেসিং করে না। View-তে HTML, CSS এবং Razor Syntax ব্যবহার করে UI তৈরি করা হয়।
কাজের ক্ষেত্র:
- ডেটা উপস্থাপন করা।
- HTML এবং Razor সিনট্যাক্সের মাধ্যমে ব্যবহারকারীর জন্য তথ্য প্রদর্শন।
উদাহরণ:
<h1>Product List</h1>
<table>
<tr>
<th>Id</th>
<th>Name</th>
<th>Price</th>
</tr>
@foreach (var product in Model)
{
<tr>
<td>@product.Id</td>
<td>@product.Name</td>
<td>@product.Price</td>
</tr>
}
</table>
Controller
Controller হলো ব্যবহারকারী এবং সিস্টেমের মধ্যে যোগাযোগের মাধ্যম। এটি রিকোয়েস্ট গ্রহণ করে, Model থেকে ডেটা সংগ্রহ করে এবং সেই ডেটা View-তে পাঠায়। Controller মূলত অ্যাপ্লিকেশনের ডেটা প্রসেসিং লজিক এবং রিকোয়েস্ট রেসপন্স সাইকেলের জন্য দায়ী।
কাজের ক্ষেত্র:
- রিকোয়েস্ট গ্রহণ এবং প্রসেস করা।
- Model এবং View-এর মধ্যে সংযোগ স্থাপন।
- অ্যাপ্লিকেশনের লজিক নিয়ন্ত্রণ।
উদাহরণ:
public class ProductController : Controller
{
public IActionResult Index()
{
var products = new List<Product>
{
new Product { Id = 1, Name = "Laptop", Price = 800.00M },
new Product { Id = 2, Name = "Smartphone", Price = 500.00M }
};
return View(products);
}
}
MVC প্যাটার্নের কাজের প্রক্রিয়া
- ব্যবহারকারী ব্রাউজারে একটি HTTP রিকোয়েস্ট পাঠায়।
- Controller রিকোয়েস্টটি গ্রহণ করে এবং প্রাসঙ্গিক Model থেকে ডেটা সংগ্রহ করে।
- Model ডেটা প্রস্তুত করে Controller-এ পাঠায়।
- Controller প্রাপ্ত ডেটা View-তে পাঠায়।
- View ডেটা ব্যবহারকারীর জন্য উপস্থাপন করে এবং একটি HTML রেসপন্স রিটার্ন করে।
MVC প্যাটার্ন ব্যবহার করার সুবিধা
- মডুলার আর্কিটেকচার: কোড সহজে মেইনটেইন এবং আপডেট করা যায়।
- Separation of Concerns: UI, ডেটা লজিক এবং প্রসেসিং লজিক পৃথক থাকে।
- রিইউজেবল কোড: Model এবং View পুনরায় ব্যবহারযোগ্য হয়।
- স্কেলেবিলিটি: বড় অ্যাপ্লিকেশন সহজে স্কেল করা যায়।
ASP.NET Core-এ MVC এর ভূমিকা
ASP.NET Core-এ MVC প্যাটার্নটি অত্যন্ত কার্যকরী কারণ এটি ডেভেলপারদের একটি সুসংগঠিত এবং উন্নততর ওয়েব অ্যাপ্লিকেশন তৈরির সুযোগ দেয়। এটি বিশেষ করে ডেটা-চালিত ওয়েব অ্যাপ এবং API তৈরিতে ব্যবহৃত হয়। Routing, Middleware, এবং Dependency Injection এর মতো ফিচার MVC প্যাটার্নকে আরও শক্তিশালী করে।
MVC প্যাটার্ন ওয়েব ডেভেলপমেন্টে একটি মানসম্মত পদ্ধতি এবং ডেভেলপারদের জন্য এটি সহজ, কার্যকরী এবং প্রায়শই অপরিহার্য।
Read more